﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LCA.Community.DAL.Model;

namespace LCA.Community.DAL.Interfaces
{
    /// <summary>
    /// The interface for user repositories
    /// </summary>
    public interface IUsersRepository : IBaseRepository<User>
    {
        string GetUserAvatarUrl(string userID);
        Hospital GetUserHospital(string userID);
        User GetUserByLiveID(string liveID);
        List<User> GetUserFriends(string userID);
        bool IsUserNameUsed(string userName);
        List<User> GetHelpedPeopleByUser(string userID);
        List<User> GetVolunteersOfUser(string userID);
        List<User> RecentUsers { get; }
        List<User> Volunteers { get; }
        List<User> GetMessageRecipents(string messageID);
        List<User> GetUserContainingName(string name);
        List<User> GetVolunteerByCity(string city);
        List<User> NonAnonymousUsers { get; }
    }
}
